using System;
using Volo.Abp.Application.Dtos;
using Volo.Abp.MultiTenancy;
using Joy.Erp.BasicArchives.Core;
using Joy.Erp.BasicArchives.Staff;
using Joy.Erp.BasicArchives.Suppliers;

namespace Joy.Erp.BasicArchives.Procurements
{
    public class PurchaseRequisitionDocumentDto : ExtensibleEntityDto<Guid>, IMultiTenant
    {
        /// <summary>
        /// 所属租户
        /// </summary>
        public Guid? TenantId { get; set; }
        /// <summary>
        /// 单据类型
        /// </summary>
        public PurchaseRequisitionTypeDto OrderType { get; set; }
        /// <summary>
        /// 供应商
        /// </summary>
        public Guid? SupplierId { get; set; }
        /// <summary>
        /// 供应商
        /// </summary>
        public SupplierDto Supplier { get; set; }
        /// <summary>
        /// 业务员
        /// </summary>
        public Guid? OperatorId { get; set; }
        /// <summary>
        /// 业务员
        /// </summary>
        public OperatorDto Operator { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string Mark { get; set; }
        /// <summary>
        /// 编号
        /// </summary>
        public string Code { get; set; }
        /// <summary>
        /// 业务日期
        /// </summary>
        public DateTime BusinessDate { get; set; }
        /// <summary>
        /// 单据状态
        /// </summary>
        public DocumentStatus DocumentStatus { get; set; }
        /// <summary>
        /// 来源类型
        /// </summary>
        public string SourceType { get; set; }
        /// <summary>
        /// 来源主键
        /// </summary>
        public string SourceKey { get; set; }
        /// <summary>
        /// 来源时间
        /// </summary>
        public DateTime? SourceCreatedOn { get; set; }
        /// <summary>
        /// 是否删除
        /// </summary>
        public bool IsDeleted { get; set; }
        /// <summary>
        /// 删除人
        /// </summary>
        public Guid? DeleterId { get; set; }
        /// <summary>
        /// 删除时间
        /// </summary>
        public DateTime? DeletionTime { get; set; }
        /// <summary>
        /// 最后编辑时间
        /// </summary>
        public DateTime? LastModificationTime { get; set; }
        /// <summary>
        /// 最后编辑人
        /// </summary>
        public Guid? LastModifierId { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreationTime { get; set; }
        /// <summary>
        /// 创建人
        /// </summary>
        public Guid? CreatorId { get; set; }
    }
}